package com.example.mybatisplus.service;

import com.example.mybatisplus.model.domain.Building;
import com.example.mybatisplus.model.domain.Dot;
import com.example.mybatisplus.model.domain.Indiscipline;
import com.example.mybatisplus.model.domain.Student;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.mybatisplus.model.dto.RepairForm;
import com.example.mybatisplus.model.dto.StudentForm;
import com.example.mybatisplus.model.dto.StudentStudyForm;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zzy
 * @since 2024-06-24
 */
public interface StudentService extends IService<Student> {

    List<Student> selectPage(Dot dot);

    List<StudentForm> selectPageByNameAndAccount(Dot dot);

    List<Student> listByAccounts(List<String> accountList);

    List<Student> selectStudentByCollegeIdAndMajorIdAndClassId(Dot dot);


    List<Student> handSelectStudentByBuilding(Long areaID, Long buildingID, Long roomID);

    List<Student> selectStudentByCollegeName(Dot dot);

    List<Student> selectStudentByNames(Dot dot);
    List<Student> convertObjectToListStudent(Object object) throws Exception;

    StudentStudyForm selectMajorNameAndCollegeNameByStudentID(Long studentID);

    String batchAllocationWithBirthplace(Map<String, Object> names);

    String batchAllocationWithNation(Map<String, Object> names);

    List<Student> selectStudentByAll(Dot dot);
    public String batchExchange(Map<String, Object> names);

    List<Indiscipline> getIndisciplineTable(Dot dot);

    boolean subRepair(Long studentID, String reason);

    List<RepairForm> getRepairTable(Dot dot);
}
